/*
  ==============================================================================

   This file is part of the JUCE library - "Jules' Utility Class Extensions"
   Copyright 2004-11 by Raw Material Software Ltd.

  ------------------------------------------------------------------------------

   JUCE can be redistributed and/or modified under the terms of the GNU General
   Public License (Version 2), as published by the Free Software Foundation.
   A copy of the license is included in the JUCE distribution, or can be found
   online at www.gnu.org/licenses.

   JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
   WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
   A PARTICULAR PURPOSE.  See the GNU General Public License for more details.

  ------------------------------------------------------------------------------

   To release a closed-source product which uses JUCE, commercial licenses are
   available: visit www.rawmaterialsoftware.com/juce for more information.

  ==============================================================================
*/

#ifndef __JUCE_D3D9_JUCEHEADER__
#define __JUCE_D3D9_JUCEHEADER__

#include "../juce_gui_extra/juce_gui_extra.h"

#undef JUCE_D3D9
#define JUCE_D3D9 1


#if JUCE_WINDOWS
 #ifndef APIENTRY
  #define APIENTRY __stdcall
  #define CLEAR_TEMP_APIENTRY 1
 #endif
 #ifndef WINGDIAPI
  #define WINGDIAPI __declspec(dllimport)
  #define CLEAR_TEMP_WINGDIAPI 1
 #endif

 #include <d3d9.h>
 #include <d3dx9.h>

 #ifdef CLEAR_TEMP_WINGDIAPI
  #undef WINGDIAPI
  #undef CLEAR_TEMP_WINGDIAPI
 #endif
 #ifdef CLEAR_TEMP_APIENTRY
  #undef APIENTRY
  #undef CLEAR_TEMP_APIENTRY
 #endif
#endif

#if ! defined (JUCE_USE_D3D9_SHADERS)
 #define JUCE_USE_D3D9_SHADERS 0
#endif

#ifndef JUCE_USE_D3D9_FIXED_FUNCTION
 #define JUCE_USE_D3D9_FIXED_FUNCTION 1
#endif

//=============================================================================
namespace juce
{

// START_AUTOINCLUDE D3D9
#ifndef __JUCE_VECTOR3D_JUCEHEADER__
 #include "../juce_opengl/opengl/juce_Vector3D.h"
#endif
#ifndef __JUCE_QUATERNION_JUCEHEADER__
 #include "../juce_opengl/opengl/juce_Quaternion.h"
#endif
#ifndef __JUCE_MATRIX3D_JUCEHEADER__
 #include "../juce_opengl/opengl/juce_Matrix3D.h"
#endif
#ifndef __JUCE_D3D9DRAGGABLE3DORIENTATION_JUCEHEADER__
 #include "direct3d9/juce_D3D9Draggable3DOrientation.h"
#endif
#ifndef __JUCE_D3D9CONTEXT_JUCEHEADER__
 #include "direct3d9/juce_D3D9Context.h"
#endif
#ifndef __JUCE_D3D9FRAMEBUFFER_JUCEHEADER__
 #include "direct3d9/juce_D3D9FrameBuffer.h"
#endif
#ifndef __JUCE_D3D9GRAPHICSCONTEXT_JUCEHEADER__
 #include "direct3d9/juce_D3D9GraphicsContext.h"
#endif
#ifndef __JUCE_D3D9HELPERS_JUCEHEADER__
 #include "direct3d9/juce_D3D9Helpers.h"
#endif
#ifndef __JUCE_D3D9IMAGE_JUCEHEADER__
 #include "direct3d9/juce_D3D9Image.h"
#endif
#ifndef __JUCE_D3D9PIXELFORMAT_JUCEHEADER__
 #include "direct3d9/juce_D3D9PixelFormat.h"
#endif
#ifndef __JUCE_D3D9RENDERER_JUCEHEADER__
 #include "direct3d9/juce_D3D9Renderer.h"
#endif
#ifndef __JUCE_D3D9SHADERPROGRAM_JUCEHEADER__
 #include "direct3d9/juce_D3D9ShaderProgram.h"
#endif
#ifndef __JUCE_D3D9TEXTURE_JUCEHEADER__
 #include "direct3d9/juce_D3D9Texture.h"
#endif

// END_AUTOINCLUDE

}

#endif   // __JUCE_D3D9_JUCEHEADER__
